package day09;

public class Truck extends Automobile {
    // 继承车辆类的非private成员
    // 子类自己扩展的属性
    // 类型 大 中 小 考虑扩展
    private String type;

    // 子类字节扩展的方法
    // get、set
    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    // 构造器
    // 无参构造器
    public Truck() {

    }

    // 全参构造器
    public Truck(String brand, String plateNumber, String type) {
        super(brand, plateNumber);// 借用父类构造器
        this.type = type;
    }

    // 子类自己计算租金的方法 - 重写父类方法
    @Override
    public double getRent(int days) {
        double rent = 0.0;
        switch (type) {
            case "小型":
                rent = 300 * days;
                break;
            case "中型":
                rent = 350 * days;
                break;
            case "大型":
                rent = 500 * days;
                break;

            default:
                rent = 999999999.99;
                break;
        }
        return rent;
    }

    // show
    public void show() {
        System.out.println("车辆的品牌是：" + getBrand() + "，车辆的车牌号是：" + getPlateNumber() + "，车辆类型是：" + type);
    }

    @Override
    public String toString() {
        return "Trunk[车辆的品牌是：" + getBrand() + "，车辆的车牌号是：" + getPlateNumber() + "，车辆类型是：" + type + "]";
    }
}
